package com.burgeon.backend.service;

import com.burgeon.backend.entity.*;
import com.burgeon.backend.service.ex.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


public interface CouponService {


    /**
     * 积分兑换购物券
     */
    void PointsAreRedeemedForCoupons(String tid, String phone, String token) throws ErrorDataException;

    /**
     * 显示可兑换优惠券
     * @return
     * @throws ErrorDataException
     */
    List<CouponType> showRedeemCoupons(String token) throws ErrorDataException;

    List<Coupon> FindUserCoupon(String openid, String token);
    List<Coupon> OldFindUserCoupon(String openid, String token);

    //**********************************************************************
    void batchAddThisCoupon(String id, ArrayList<String> data,String flag, String account) throws ErrorDataException;

    HashMap getCoupon(String start, String account) throws LoadingException;

    void addCoupon(String id, String phone, String account) throws InsertException;

    void delCoupon(String id, String account) throws DeleteException;

    void batchAddCoupon(String id, VipQuery query, String account) throws ErrorDataException;

    void batchAddCouponByTags(String id, VipAttrib query, String account) throws ErrorDataException;

    BatchCouponState GetBatchState(String account);
    //****************************************************************

    void addCouponType(CouponType couponType, String account) throws InsertException;

    void modCouponType(CouponType couponType) throws UpDataException;

    void delCouponType(String id) throws DeleteException;

    List<CouponType> getCouponType(String account) throws LoadingException;

    CouponType findCouponType(String id) throws LoadingException;

    List<String> Query(VipQuery query, String account) throws ErrorDataException;

    List<String> QueryTags(VipAttrib query, String account) throws ErrorDataException;


}
